home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Columbia Kermit
/
kermit.zip
/
newsgroups
/
misc.19970626-19970929
/
000414_news@newsmaster….columbia.edu _Fri Sep 26 15:40:53 1997.msg
< prev
next >
Wrap
Internet Message Format
|
2020-01-01
|
10KB
Return-Path: <news@newsmaster.cc.columbia.edu>
Received: from newsmaster.cc.columbia.edu (newsmaster.cc.columbia.edu [128.59.35.30])
by watsun.cc.columbia.edu (8.8.5/8.8.5) with ESMTP id PAA13581
for <kermit.misc@watsun.cc.columbia.edu>; Fri, 26 Sep 1997 15:40:52 -0400 (EDT)
Received: (from news@localhost)
by newsmaster.cc.columbia.edu (8.8.5/8.8.5) id PAA16507
for kermit.misc@watsun; Fri, 26 Sep 1997 15:40:51 -0400 (EDT)
Path: news.columbia.edu!panix!news.eecs.umich.edu!nntprelay.mathworks.com!logbridge.uoregon.edu!news.bc.net!rover.ucs.ualberta.ca!alberta!not-for-mail
From: Vladimir Alexiev <vladimir@cs.ualberta.ca>
Newsgroups: comp.protocols.kermit.misc
Subject: Re: Kermit via PPP under DOS?
Date: 26 Sep 1997 13:28:49 -0600
Organization: University of Alberta, Computing Science
Lines: 167
Message-ID: <omraab98ni.fsf@tees.cs.ualberta.ca>
References: <60dt7d$dj2@f1n1.spenet.wfu.edu>
<om202d9uht.fsf@tees.cs.ualberta.ca>
<60ea00$3io$1@apakabar.cc.columbia.edu>
NNTP-Posting-Host: tees.cs.ualberta.ca
In-reply-to: matthews@wfu.edu's message of 25 Sep 1997 14:41:49 GMT
X-Newsreader: Gnus v5.0.15
Xref: news.columbia.edu comp.protocols.kermit.misc:7739
In article <60ea00$3io$1@apakabar.cc.columbia.edu> fdc@watsun.cc.columbia.edu
(Frank da Cruz) writes:
> : Frank, I'd recommend dosppp05.zip (EPPPD) instead. If you like, I can
> : write up something about the setup that worked for me.
> Yes, please, and post it here. Thanks.
I use EPPPD, which provides a class 1 (Ethernet emulation) driver. It works ok
with a talk app which (claim to) be based on the WATTCP stack. Also, it works
ok with NUPop 1.03, a POP mail (and telnet) program, but I don't know what
TCP/IP stack it uses. Strangely, the ping from WATTCP didn't work
satisfactory. Another ping (from Trumpet?) works ok.
Unfortunately, kermit doesn't work with EPPPD. I guess I should have said in
my initial message "setup that worked for me with other tcp apps" (wattcp and
otherwise). It does BOOTP ok, but then it gives an "Unable to ARP resolve <ip
address>" error, then "Unable to contact the host. Host may be down or gateway
may be needed", and sets \v(tcpip_status) to 8 (host unreachable). (3.15 gives
much worse diagnostics. But these 123R 325T counters are nice. What do they
show, receive/transmit speed?)
Another file in the same dosppp05.zip, PPPD, provides class 6 (serial line)
driver. I now see in "APPENDIX II: MS-DOS KERMIT AND PPP" that you advise
using "/k 6" (class 6) with Merit PPP. (However, in my Merit PPP documentation
it says they support class 1 and class 15 only !?) I tried PPPD, and sure
enough it worked perfectly. Only that I had to type all the TCP params by
hand, because unlike EPPPD, PPPD doesn't provide BOOTP (is it even possible
with class 6?).
I wonder what is it in kermit that makes it fail where other TCP apps work ok
with EPPPD. (Admittedly, the Ether addresses that EPPPD synthesizes are pretty
weird-looking. Also, it figures out a netmask 255.255.0.0 for a local IP that
differs only in the last octet from the remote (gateway) IP, but that's on a
class B net, so it's perhaps ok.) I read Joe's explanations about ARP routing
in the archives of this group on DejaNews, but there's not enough technical
info to figure it out. I had a problem initially with EPPPD that was also
related to ARP, but it went away once I asked the remote pppd to do
*proxyarp*.
Is the advantage of having BOOTP sufficient incentive for the kermit team to
make kermit's stack work with class 1 emulation drivers? I don't know. In the
meanwhile, below is a first attempt at scripts to automate the process.
Please clean it up (especially error checking), my kermit scripting leaves a
lot to be desired.
USING KERMIT WITH PPPD.EXE FROM DOSPPP05.ZIP
In addition to Merit PPP (PPP.EXE that is distributed with Kermit), there's
another free PPP driver for DOS that you may want to consider. It is PPPD.EXE
in the archive MSDOS/PKTDRVR/DOSPPP05.ZIP on any SimTel mirror. It takes only
57k in memory (as opposed to 95k taken by Merit PPP), and is more robust.
However, it doesn't support Van Jacobsen header compression, so it adds more
overhead to the PPP protocol. [how much more?]
To set up PPPD.EXE, follow these steps. The text below may be of interest to
PPP.EXE users as well, since it describes how to automate the process of
connecting, and can be adapted for PPP.EXE.
1. Get DOSPPP05.ZIP. Unzip it in some directory, say \PPP. Read the fine
documentation that comes with it.
2. DOSPPP05.ZIP contains a simple dialer, CHAT.EXE, that works well with PPPD.
(If you prefer, you can use Kermit as a more sophisticated dialer with
better possibility for error checking, but it will start a bit slower.)
Create a script CHAT.SCR that consists of simple expect-send pairs, plus
some more info. I don't know if CHAT accepts comment lines, so remove the
comments below.
ABORT BUSY ABORT ERROR ; any of these will fail the script
ABORT "NO ANSWER"
ABORT "NO CARRIER"
ABORT "NO DIALTONE"
TIMEOUT 3
'' atz ; expect nothing, then reset modem
OK "atdt <phone>" ; expect OK from modem, dial the number
TIMEOUT 60 ; give it time to connect
; Insert your ISP's login sequence here. PPPD supports PAP, but not CHAP.
; If your ISP supports/requires PAP, put the username and password in
; PPPD.CFG (see below), and there will be no dialog here.
; E.g. a typical unix login goes like this:
login: <username> ;
TIMEOUT 3 ; now prompts should come quickly
Password: <password>
; A Cisco terminal server might go like this:
termserv> login
TIMEOUT 3 ; now prompts should come quickly
Username: <username>
Password: <passowrd>
; Now start a ppp server.
; If you have root access on Unix, install pppd, then go
TIMEOUT 60 ; wait for command-line prompt
$ "pppd :<myip> proxyarp"
; Note the quotes on the line above. <myip> is the IP address of your PC
; (Unix pppd can't assign it dynamically by itself). Proxyarp is very
; important: it makes the remote pppd route packets to PPPD.EXE.
; On Cisco terminal server, the command could be
termserv> "ppp default"
3. Create a configuration file PPPD.CFG:
com1 # COM port
38400 # UART (serial) DTE speed
modem # sense UART (modem) signals
#debug # only with the debugging version, PPPDD.EXE
#kdebug 1 # a good idea to turn on initially
pktvec 0x60 # packet driver interrupt vector
asyncmap 0 # send control chars as is
# asyncmap 0xA0000 # for xon/xoff flow control
# asyncmap 0x20000000 # for connection through telnet
# escape 0xFF # for connection through rlogin
#passive # don't quit if no ppp on the other side
crtscts # RTS/CTS (hardware) flow control
mru 1500 # max receive unit
mtu 1500 # max send unit
#namsrv <primary name serv>
#namsrv <secondary name serv>
user <username> # for PAP
passwd <password> # for PAP
Very important: PPPD will fail if there is a ^Z at the end of this file.
Use an editor that doesn't do this. Alternatively, you may try to end the
file by putting a comment character and no newline after it, i.e. like so:
# Don't put newline here! ^Z
4. Create a DOS batch file to start PPPD, call it PPP.BAT:
PPPD CONNECT "CHAT -f CHAT.SCR"
IF ERRORLEVEL 1 GOTO EXIT
CALL IP-UP.BAT
REM KERMIT -f PPPD.SCR ; uncomment after step 3
:EXIT
Upon successful connection PPPD creates a file IP-UP.BAT that lists the
parameters of the connection. We call it, so that the parameters are put in
the DOS environment. Use SET to check that all four of them are there (if
not, you may have insufficient environment space.)
If there's problems with the connection, enable the debug and kdebug
options in PPPD.CFG (see above) and use this instead:
PPPDD CONNECT "CHAT -f CHAT.SCR" > PPPD.LOG
then look in PPPD.LOG for clues.
5. Now write a Kermit script PPPD.SCR that transfers the parameters from the
environment into Kermit, adds some more parameters, and then connects to
the telnet host.
SET TCP/IP ADDRESS \$(myip)
SET TCP/IP SUBNETMASK \$(netmask)
SET TCP/IP DOMAIN footech.edu
SET TCP/IP GATEWAY \$(remip) ; remote IP
SET TCP/IP PRIMARY-NAMESERVER <primary nameserver IP>
SET TCP/IP SECONDARY-NAMESERVER <secondary nameserver IP>
; The nameservers are static IPs that your ISP should give you. PPPD
; Doesn't export them to IP-UP.BAT, that's why there's no point in
; specifying them in step 3 above.
; If you want to be very cool, in 3.15 you can even compute MSS as
; \feval(\$(peermru)-40)
SET TCP/IP HOST library
; This will connect you to library.footech.edu. If you prefer, you can
; put the full name here, and not specify DOMAIN. Or you can even put
; the host IP here, then you don't need nameservers.
SET PORT TCP/IP
CONNECT